package com.code.AZPlan.model.bo;

import com.code.AZPlan.model.po.WithdrawOrder;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 提币业务对象
 *
 * @author tangyifei
 * @since 2020年1月8日11:26:11
 */
@ApiModel("提币业务对象")
@Data
@EqualsAndHashCode(callSuper = false)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ToString
@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler" })
public class WithdrawBO implements Serializable {

    private static final long serialVersionUID = 6953538901082562909L;

    @ApiModelProperty(value = "用户XWC币种余额相关的版本号(钱包的版本号)", example = "0")
    private Integer xwcCoinBalanceVersion;

    @ApiModelProperty(value = "用户BTC币种余额相关的版本号(钱包的版本号)", example = "0")
    private Integer btcCoinBalanceVersion;

    @ApiModelProperty(value = "用户USDT币种余额相关的版本号(钱包的版本号)", example = "0")
    private Integer usdtCoinBalanceVersion;

    @ApiModelProperty(value = "用户XWC币种余额", example = "0")
    private BigDecimal xwcCoinBalance;

    @ApiModelProperty(value = "用户BTC币种余额", example = "0")
    private BigDecimal btcCoinBalance;

    @ApiModelProperty(value = "用户USDT币种余额", example = "0")
    private BigDecimal usdtCoinBalance;

    @ApiModelProperty(value = "到账数量", example = "0")
    private BigDecimal arrivalAmount;

    @ApiModelProperty(value = "用户账号", example = "XXXXXX")
    private String userAccount;

    @ApiModelProperty(value = "币种类型", example = "XWC")
    private String coinType;

    @ApiModelProperty(value = "审核状态", example = "审核状态 0未审核 1审核中 2审核成功 3审核失败")
    private Integer checkState;

    @ApiModelProperty(value = "当前页", example = "0")
    private Integer page;

    @ApiModelProperty(value = "每页的大小", example = "10")
    private Integer pageSize;

    @ApiModelProperty(value = "总的记录数", example = "0")
    private Long total;

    @ApiModelProperty(value = "提币订单列表", example = "1")
    private List<WithdrawOrder> withdrawOrderList;

}
